package com.wgchao.amc.service;

import com.wgchao.amc.autho.AuthoInfoCenter;
import com.wgchao.amc.common.PageData;
import com.wgchao.amc.common.ResultCommon;
import com.wgchao.amc.mapstruct.dto.SysBaseAgencyDTO;

import java.util.List;

public interface AgencyService {
    public ResultCommon<SysBaseAgencyDTO> save(SysBaseAgencyDTO agencyDTO, AuthoInfoCenter authoInfoCenter) throws Exception;

    public ResultCommon<SysBaseAgencyDTO> search(String agencyCode) throws Exception;

    public ResultCommon<PageData<SysBaseAgencyDTO>> page(int page, int limit,
                                                         String agencyName, AuthoInfoCenter authoInfoCenter) throws Exception;

    public ResultCommon<SysBaseAgencyDTO> update(SysBaseAgencyDTO agencyDTO, AuthoInfoCenter authoInfoCenter) throws Exception;

    public ResultCommon deletes(List<String> agencyCodes, AuthoInfoCenter authoInfoCenter) throws Exception;

    public ResultCommon cancels(List<String> agencyCodes, AuthoInfoCenter authoInfoCenter) throws Exception;

    public ResultCommon<List<SysBaseAgencyDTO>> searchChilds(String agencyCode) throws Exception;

    public ResultCommon<SysBaseAgencyDTO> searchChildsTree(String agencyCode) throws Exception;
}
